package com.huabo.audit.oracle.mapper;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.annotations.UpdateProvider;

import com.huabo.audit.oracle.entity.TblNbsjArchiveEntity;
import com.huabo.audit.oracle.entity.TblNbsjProject;
import com.huabo.audit.oracle.vo.TblGkProjectVo;
import com.huabo.audit.oracle.vo.TblGkQuestionVo;
import com.huabo.audit.oracle.vo.TblGkZgQuestionVo;
import com.huabo.audit.oracle.vo.TblnbsjProjectRwfpVo;
import com.huabo.audit.oracle.vo.TblnbsjProjectVo;
import com.huabo.audit.oracle.vo.TblnbsjProjectZXYLVo;
import com.huabo.audit.util.PageInfo;

public interface TblNbsjProjectMapper extends tk.mybatis.mapper.common.Mapper<TblNbsjProject> {
	
	@SelectProvider(method="selectProjectgdListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="COSTS",property="costs"),
		@Result(column="STAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="EXAMINETYPE",property="examineType",id=true),
    	@Result(column="DAYS",property="days"),
	})
	List<TblNbsjProject> selectProjectgdListByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo,String projectStartDate, String projectEndDate, TblnbsjProjectVo project) throws Exception;



	@SelectProvider(method="selectProjectgdListByPageCount",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectProjectgdListByPageCount(String projectStartDate,String projectEndDate, TblnbsjProjectVo project) throws Exception;
	

	@Update("UPDATE TBL_NBSJ_PROJECT SET IMPLEMENTTIME = TO_DATE(#{implementTime}, 'YYYY-MM-DD HH24:MI:SS') WHERE PROJECTID = #{projectId}")
	void updateImplementTime(Integer projectId, String implementTime) throws Exception;
	
	@SelectProvider(method="selectAuditFileListPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="AUDITTYPE",property="auditType"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="ASSIGBEDCONTROLTIME",property="assigbedControlTime"),
		@Result(column="PMSTAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="PMREALNAME",property="pmStaff.realname"),
    	@Result(column="AUORGID",property="auditOrgInfo.orgid",id=true),
    	@Result(column="AUORGNAME",property="auditOrgInfo.orgname"),
	})
	List<TblNbsjProject> selectAuditFileListPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo,String projectName, BigDecimal orgid) throws Exception;

	@SelectProvider(method="selectAuditFileCountByPage",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectAuditFileCountByPage(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, String projectName,BigDecimal orgid) throws Exception;

	@SelectProvider(method="selectProjectListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="COSTS",property="costs"),
		@Result(column="STAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="EXAMINETYPE",property="examineType",id=true),
    	@Result(column="DAYS",property="days"),
	})
	List<TblNbsjProject> selectProjectListByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo,String projectStartDate, String projectEndDate, TblnbsjProjectVo project) throws Exception;

	@SelectProvider(method="selectProjectCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectProjectCountByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, String projectStartDate,String projectEndDate, TblnbsjProjectVo project) throws Exception;
	
	@Select("SELECT TNP.PRJOECTNAME,TNP.PROJECTCODE,TNP.PROJECTSOURCE,TNP.STATUS,TNP.STARTDATE,TNP.ENDDATE,TS.STAFFID PMSTAFFID,TS.REALNAME PMREALNAME FROM TBL_NBSJ_PROJECT TNP LEFT JOIN TBL_STAFF TS ON TS.STAFFID = TNP.PMID WHERE PLANID = #{planid}")
	@Results({
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="PMSTAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="PMREALNAME",property="pmStaff.realname"),
	})
	List<TblNbsjProject> selectProjectListInfoByPlanId(Integer planid) throws Exception;
	 
	@Select("SELECT * from TBL_NBSJ_PROJECT WHERE PROJECTID= #{projectId} ")
	TblNbsjProject getById(String projectId);
    
    @SelectProvider(method="selectCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
   	Integer selectCountByPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;

    @Select("SELECT TNA.* FROM TBL_NBSJ_PROJECT TNA  WHERE TNA.PROJECTID = #{projectId}")
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="PROJECTSOURCE",property="projectSource"),
    	@Result(column="STARTDATE",property="startDate"),
    	@Result(column="ENDDATE",property="endDate"),
    	@Result(column="AUDITTYPE",property="auditType"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="STATUS",property="status"),
    	@Result(column="PMID",property="pmId"),
    	
    })
    TblNbsjProject selectById(@Param("projectId") Integer projectId) throws Exception;
    
    @SelectProvider(method="selectListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="PROJECTSOURCE",property="projectSource"),
    	@Result(column="STARTDATE",property="startDate"),
    	@Result(column="ENDDATE",property="endDate"),
    	@Result(column="AUDITTYPE",property="auditType"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="STATUS",property="status"),
    	@Result(column="PMID",property="pmId"),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    })
	List<TblNbsjProject> selectListByPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;

    
    @Select("SELECT * from TBL_NBSJ_PROJECT WHERE AUDITTYPE= #{type} and AUDITORGID=#{orgid} ")
    List<TblNbsjProject>  findByNbsjLx(@Param("type")String type,@Param("orgid")String orgid);
    
    
    
    
    
    //档案列表-个人
    @SelectProvider(method="selectSjgdNewCountByStaffidPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
   	Integer selectSjgdNewCountByStaffidPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;
    
    @SelectProvider(method="selectSjgdNewListByStaffidPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    	@Result(column="SJORGNAME",property="orgInfo.orgname"),
//    	orgname
    })
	List<TblNbsjProject> selectSjgdNewListByStaffidPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;
    //档案列表
    @SelectProvider(method="selectSjgdNewCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    Integer selectSjgdNewCountByPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;
    
    @SelectProvider(method="selectSjgdNewListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    	@Result(column="SJORGNAME",property="orgInfo.orgname"),
//    	orgname
    })
    List<TblNbsjProject> selectSjgdNewListByPageInfo(PageInfo<TblNbsjProject> pageInfo,TblnbsjProjectVo tblnbsjProjectVo) throws Exception;
    
    //档案借阅
    @SelectProvider(method="selectDajyNewCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
   	Integer selectDajyNewCountByPageInfo(PageInfo<TblNbsjProject> pageInfo,BigDecimal orgid,BigDecimal staffid) throws Exception;
    
    @SelectProvider(method="selectDajyNewListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="PLANYEAR",property="planYear"),
    	
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    	@Result(column="SJORGNAME",property="orgInfo.orgname"),
    	
    	@Result(column="PSTATUS",property="pStatus"),
//    	orgname
    })
	List<TblNbsjProject> selectDajyNewListByPageInfo(PageInfo<TblNbsjProject> pageInfo,BigDecimal orgid,BigDecimal staffid) throws Exception;
    
    //借阅日志
    @SelectProvider(method="selectJyrzNewCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
   	Integer selectJyrzNewCountByPageInfo(PageInfo<TblNbsjProject> pageInfo,Integer orgid) throws Exception;
    
    @SelectProvider(method="selectJyrzNewListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="PCNT",property="pCount"),
    	
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    	@Result(column="SJORGNAME",property="orgInfo.orgname"),
    	
//    	orgname
    })
	List<TblNbsjProject> selectJyrzNewListByPageInfo(PageInfo<TblNbsjProject> pageInfo,Integer orgid,Integer staffid) throws Exception;
    
    
    
    
    //==
    @SelectProvider(method="selectPJListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="COSTS",property="costs"),
		@Result(column="STAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="EXAMINETYPE",property="examineType",id=true),
    	@Result(column="DAYS",property="days"),
	})
	List<TblNbsjProject> selectPJListByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectVo project) throws Exception;

	@SelectProvider(method="selectPJCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectPJCountByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectVo project) throws Exception;
	
	@SelectProvider(method="selectPlanCodeByOrgid",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectPlanCodeByOrgid(TblNbsjProject plan) throws Exception;
	
	
	@Delete("DELETE FROM TBL_NBSJ_PROJECT WHERE PROJECTID = #{projectid}")
    void deleteById(Integer projectid) throws Exception;
	
	@Delete("DELETE FROM TBL_NBSJ_PRO_TEAM WHERE PROJECTID = #{projectid}")
    void deleteLinkTeamById(Integer projectid) throws Exception;
	
    @InsertProvider(method="insertEntity",type=TblNbsjProjectMapperSqlConfig.class)
    @Options(useGeneratedKeys=true, keyProperty="projectId", keyColumn="PROJECTID")
	void insertEntity(TblNbsjProject plan) throws Exception;

    @UpdateProvider(method="updateEntity",type=TblNbsjProjectMapperSqlConfig.class)
	void updateEntity(TblNbsjProject plan) throws Exception;
    
    @Select("SELECT TNA.*,TS.REALNAME,PLAN.PLANNAME,TEMP.TEMPLETENAME,TEMPZY.TEMPLETENAME TEMPLETENAMEZY,"
    		+ "TEMP.TEMPLETEID TEMPSJID,TEMPZY.TEMPLETEID TEMPZYID,createUser.REALNAME CREATEUSERNAME,"
    		+ "auditOrg.ORGNAME AUDITORGNAME,auditStaff.REALNAME AUDITSTAFFNAME"
    		+ " FROM TBL_NBSJ_PROJECT TNA "
    		+ " LEFT JOIN TBL_NBSJ_AUDITPLAN PLAN ON PLAN.PLANID = TNA.PLANID "
    		+ " LEFT JOIN TBL_NBSJ_TEMPLETE TEMP ON TEMP.TEMPLETEID = TNA.TEMPID "
    		+ " LEFT JOIN TBL_NBSJ_TEMPLETE TEMPZY ON TEMPZY.TEMPLETEID = TNA.TEMPZYID "
			+ " LEFT JOIN TBL_STAFF TS ON TNA.PMID = TS.STAFFID "
			+ " LEFT JOIN TBL_STAFF createUser ON TNA.CREATESTAFFID = createUser.STAFFID "
			+ " LEFT JOIN TBL_ORGANIZATION auditOrg ON TNA.AUDITORGID = auditOrg.ORGID "
			+ " LEFT JOIN TBL_STAFF auditStaff ON TNA.AUDITSTAFFID = auditStaff.STAFFID "
    		+ " WHERE TNA.PROJECTID = #{projectId} ")
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PPROJECTNAME",property="pprojectName"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="PROJECTSOURCE",property="projectSource"),
    	@Result(column="STARTDATE",property="startDate"),
    	@Result(column="ENDDATE",property="endDate"),
    	@Result(column="AUDITTYPE",property="auditType"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="STATUS",property="status"),
    	@Result(column="PMID",property="pmId"),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	
    	@Result(column="PLANID",property="tblnbsjPlan.planid"),
    	@Result(column="PLANNAME",property="tblnbsjPlan.planname"),
    	@Result(column="TEMPLETENAME",property="tbltemplete.templeteName"),
    	@Result(column="TEMPLETENAMEZY",property="tbltempletezy.templeteName"),
    	@Result(column="TEMPSJID",property="tbltemplete.templeteId"),
    	@Result(column="TEMPZYID",property="tbltempletezy.templeteId"),
    	
    	@Result(column="CREATEUSERNAME",property="createUserName"),
    	@Result(column="PRO_SJFS",property="proSjfs"),
    	@Result(column="PRO_DESC",property="proDesc"),
    	
    	@Result(column="TARGETNAME",property="targetName"),
    	
    	@Result(column="AUDITORGNAME",property="auditOrgName"),
    	@Result(column="AUDITSTAFFNAME",property="auditStaffName"),
    	
    })
    TblNbsjProject selectPJById(@Param("projectId") Integer projectId) throws Exception;
    
    
    //项目任务分配
    @SelectProvider(method="selectPJRwfpListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="PROJECTSOURCE",property="projectSource"),
		@Result(column="STATUS",property="status"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="COSTS",property="costs"),
		@Result(column="STAFFID",property="pmStaff.staffid",id=true),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    	@Result(column="EXAMINETYPE",property="examineType",id=true),
	})
	List<TblNbsjProject> selectPJRwfpListByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectRwfpVo tblnbsjProjectRwfpVo) throws Exception;

	@SelectProvider(method="selectPJRwfpCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectPJRwfpCountByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectRwfpVo tblnbsjProjectRwfpVo) throws Exception;
    
	
	
	//项目执行一览
    @SelectProvider(method="selectPJZxylListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	@Results({
		@Result(column="PROJECTID",property="projectId"),
		@Result(column="PRJOECTNAME",property="prjoectName"),
		@Result(column="PROJECTCODE",property="projectCode"),
		@Result(column="STARTDATE",property="startDate"),
		@Result(column="ENDDATE",property="endDate"),
		@Result(column="PLANNAME",property="planName"),
		@Result(column="PLANCODE",property="planCode"),
		
		
	})
	List<TblNbsjProject> selectPJZxylListByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectZXYLVo tblnbsjProjectZXYLVo) throws Exception;

	@SelectProvider(method="selectPJZxylCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
	Integer selectPJZxylCountByPageInfo(com.hbfk.util.PageInfo<TblNbsjProject> pageInfo, TblnbsjProjectZXYLVo tblnbsjProjectZXYLVo) throws Exception;
	
	
	
	//==查询当前实施项目
	@Select("SELECT * from TBL_NBSJ_PROJECT WHERE STATUS= 2 ")//
	List<TblNbsjProject> getProjectBySS();
	
	@UpdateProvider(method="updatePjSS",type=TblNbsjProjectMapperSqlConfig.class)
	void updatePjSS(Integer projectid) throws Exception;
	
	
	//==
	@UpdateProvider(method="updatePjPm",type=TblNbsjProjectMapperSqlConfig.class)
	void updatePjPm(Integer pmId,Integer projectid) throws Exception;
	
	//==
	@UpdateProvider(method="updatePjStart",type=TblNbsjProjectMapperSqlConfig.class)
	void updatePjStart(Integer projectid) throws Exception;
	
	
	//==
	@Select("SELECT *  from TBL_NBSJ_ARCHIVE ARC WHERE ARC.PROJECTID=#{projectid} ")//
	List<TblNbsjArchiveEntity> getTblNbsjArchiveList(Integer projectid);
	
	//==
	@UpdateProvider(method="updateFpStatus",type=TblNbsjProjectMapperSqlConfig.class)
	void updateFpStatus(Integer fpStatus,Integer projectId) throws Exception;
	
	
	//==
	@SelectProvider(method="selectAuditPlanListByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
    @Results({
    	@Result(column="PROJECTID",property="projectId"),
    	@Result(column="PRJOECTNAME",property="prjoectName"),
    	@Result(column="PLANYEAR",property="planYear"),
    	@Result(column="PROJECTSOURCE",property="projectSource"),
    	@Result(column="STARTDATE",property="startDate"),
    	@Result(column="ENDDATE",property="endDate"),
    	@Result(column="AUDITTYPE",property="auditType"),
    	@Result(column="PROJECTCODE",property="projectCode"),
    	@Result(column="STATUS",property="status"),
    	@Result(column="PMID",property="pmId"),
    	@Result(column="REALNAME",property="pmStaff.realname"),
    	@Result(column="ORGNAME",property="auditOrgInfo.orgname"),
    })
	List<TblNbsjProject> selectAuditPlanListByPageInfo(PageInfo<TblNbsjProject> pageInfo,String  projectname,BigDecimal orgid) throws Exception;
	
	@SelectProvider(method="selectAuditPlanCountByPageInfo",type=TblNbsjProjectMapperSqlConfig.class)
   	Integer selectAuditPlanCountByPageInfo(PageInfo<TblNbsjProject> pageInfo,String  projectname,BigDecimal orgid) throws Exception;
	
    @SelectProvider(method="getGkProjectInfoList",type=TblNbsjProjectMapperSqlConfig.class)
	List<Map<String, Object>> getGkProjectInfo(com.hbfk.util.PageInfo<Map<String, Object>> pageInfo,TblGkProjectVo project) throws Exception;
    
    @SelectProvider(method="getGkProjectInfoListCount",type=TblNbsjProjectMapperSqlConfig.class)
    Integer getGkProjectInfoListCount(TblGkProjectVo project) throws Exception;
    
    @SelectProvider(method="getGkQuestionInfoList",type=TblNbsjProjectMapperSqlConfig.class)
    List<Map<String, Object>> getGkQuestionInfoList(com.hbfk.util.PageInfo<Map<String, Object>> pageInfo,TblGkQuestionVo question) throws Exception;
    
    @SelectProvider(method="getGkQuestionInfoListCount",type=TblNbsjProjectMapperSqlConfig.class)
    Integer getGkQuestionInfoListCount(TblGkQuestionVo question) throws Exception;
    
    @SelectProvider(method="getGkZgContentInfoList",type=TblNbsjProjectMapperSqlConfig.class)
    List<Map<String, Object>> getGkZgContentInfoList(com.hbfk.util.PageInfo<Map<String, Object>> pageInfo,TblGkZgQuestionVo question) throws Exception;
    
    @SelectProvider(method="getGkZgContentInfoListCount",type=TblNbsjProjectMapperSqlConfig.class)
    Integer getGkZgContentInfoListCount(TblGkZgQuestionVo question) throws Exception;
    
    
    @Delete("DELETE FROM TBL_LEGAL_PROJECT_ATT WHERE attid=#{attid}")
	void deleteFileInfoByAttId(Integer attid);

}
